package co.yixiang.yshop.module.tables.controller.admin.table.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import co.yixiang.yshop.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static co.yixiang.yshop.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 餐桌分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class TableInfoPageReqVO extends PageParam {

    @Schema(description = "餐桌编号或名称", example = "名称")
    private String tableName;

    @Schema(description = "餐桌类型 (1:普通桌, 2:包厢, 3:吧台)", example = "1")
    private String tableType;

    @Schema(description = "餐桌最大容纳人数")
    private Short tableCapacity;

    @Schema(description = "餐桌所在位置描述（如楼层、区域、具体坐标等）")
    private String tableLocation;

    @Schema(description = "状态 (1:空闲, 2:已预订, 3:正在使用)", example = "1")
    private String tableStatus;

    @Schema(description = "当前有效的点餐二维码（或其ID）")
    private String activeQrcode;

    @Schema(description = "关联的预订记录ID（如有预订）", example = "30646")
    private Integer reservationId;

    @Schema(description = "备注信息（如特殊要求、临时关闭原因等）")
    private String tableNotes;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}
